#ifndef FORMDELEGATE_H
#define FORMDELEGATE_H

#include <QItemDelegate>
#include "ItemBase.h"

class TableDelegate : public QItemDelegate
{
	Q_OBJECT
public:
	TableDelegate(QObject *parent = 0);

	QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
		const QModelIndex &index) const;

	void setEditorData(QWidget *editor, const QModelIndex &index) const;
	void setModelData(QWidget *editor, QAbstractItemModel *model,
		const QModelIndex &index) const;

	void updateEditorGeometry(QWidget *editor,
		const QStyleOptionViewItem &option, const QModelIndex &index) const;

private:
	ItemBase *item;
public slots:
	void setItem(ItemBase *item);
};
#endif